﻿using EasyI18n.Api.Infrastructure.DataPersistence.DataEntityBases;
using EasyI18n.Api.Infrastructure.DataPersistence.MongoDb.Entities.Bases;
using MongoDB.Bson;

namespace EasyI18n.Api.Infrastructure.DataPersistence.MongoDb.Entities;

public class SystemUser : IMongoDbEntity, IHasKey<ObjectId>, IHasCreator<ObjectId>, IHasUpdater<ObjectId>,
    ICanSoftDelete
{
    public SystemUser()
    {
        this.InitPropertyValues();
    }

    public ObjectId Id { get; set; }
    public string UserName { get; set; }
    public string PasswordHash { get; set; }
    public string PhoneNumber { get; set; }
    public string Email { get; set; }
    public bool EmailConfirmed { get; set; }
    public bool PhoneNumberConfirmed { get; set; }
    public int Gender { get; set; }
    public DateTime CreatedOn { get; set; }
    public ObjectId CreatedBy { get; set; }
    public ObjectId UpdatedBy { get; set; }
    public DateTime? UpdatedOn { get; set; }
    public bool IsDeleted { get; set; }
}